package com.easylinkin.linkappapi.device.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.easylinkin.linkappapi.device.entity.Device;
import com.easylinkin.linkappapi.device.entity.DeviceRefAreaScope;
import com.easylinkin.linkappapi.device.entity.DeviceVoExt;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 设备关联功能关联作用区域 服务类
 * </p>
 *
 * @author TongJie
 * @since 2021-05-12
 */
public interface DeviceRefAreaScopeService extends IService<DeviceRefAreaScope> {

    IPage<Device> getDeviceListByAreaPathAndFunctionIdentifier(Page page, DeviceVoExt adpe) throws Exception;

    List<Device> getDeviceListByAreaPathAndFunctionIdentifier(DeviceVoExt adpe) throws Exception;

    void bindAreaPathAndDevice(DeviceVoExt adp) throws Exception;

    void unbindDeviceAndFunctionIdentifier(DeviceVoExt adp) throws Exception;

    void exportAirDeviceTemplateFile(HttpServletRequest request, HttpServletResponse response);

    String[] importDevice(MultipartFile file, String functionIdentifier);

    void oneKeySynBind(DeviceVoExt adp);

}
